"""
1406357289是一个0至9的全数字数，因为它由0到9这十个数字排列而成；但除此之外，它还有一个有趣的性质：子串可整除
记d1是它的第一个数字，d2是第二个数字，依此类推，我们注意到：
    d2d3d4=406能被2整除
    d3d4d5=063能被3整除
    d4d5d6=635能被5整除
    d5d6d7=357能被7整除
    d6d7d8=572能被11整除
    d7d8d9=728能被13整除
    d8d9d10=289能被17整除
  找出所有满足同样性质的0至9全数字数，并求它们的和。

"""

from itertools import permutations

list1=[]
l=['0','1','2','3','4','5','6','7','8','9']
for p in permutations(l):
    s=''
    for q in p:
        s+=q
    if s[0]!='0':
        if int(s[7:10])%17==0:
            if int(s[6:9])%13==0:
                if int(s[5:8])%11==0:
                    if int(s[4:7])%7==0:
                        if s[5] in ['0','5']:
                            if int(s[2:5])%3==0:
                                if int(s[3])%2==0:
                                    list1.append(int(s))
print(sum(list1)) 




# from itertools import permutations as ip#引入组合库
# hh=[''.join(list(i)) for i in list(ip('1023456789'))]
# alldigit = []
# for i in hh:
#     if i[0]!='0':
#         if int(i[7:10])%17==0:
#             if int(i[6:9])%13==0:
#                 if int(i[5:8])%11==0:
#                     if int(i[4:7])%7==0:
#                         if i[5] in ['0','5']:
#                             if int(i[2:5])%3==0:
#                                 if int(i[3])%2==0:
#                                     alldigit.append(int(i))
# print(alldigit)
# print(sum(alldigit))
# 答案：满足此条件的数：[1406357289, 1430952867, 1460357289, 4106357289, 4130952867, 4160357289]
# 所有数之和：16695334890